package org.desktop.web.client.role;

import java.util.Map;

import org.desktop.web.shared.Response;
import org.desktop.web.shared.domain.PageEntity;
import org.desktop.web.shared.domain.entities.Role;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sencha.gxt.data.shared.loader.PagingLoadConfig;
import com.sencha.gxt.data.shared.loader.PagingLoadResult;

public interface RoleServiceAsync {

	void getRoles(String token, AsyncCallback<Response> callback);

	void getRoles(String token, PagingLoadConfig loadConfig, 
			AsyncCallback<PagingLoadResult<Role>> callback);

	void existsCodRole(Map<String, String> headers, String codRole,
			AsyncCallback<Boolean> callback);

	void saveRole(Map<String, String> headers, Role role,
			AsyncCallback<Response> asyncCallback);

	void deleteRole(Map<String, String> headers, Role selectedItem,
			AsyncCallback<Response> asyncCallback);

}
